home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 3 / Gold Medal Software - Volume 3 (Gold Medal) (1994).iso / utils1 / condr6.arj / CONDOR.DOC < prev    next >
Text File  |  1994-03-04  |  64KB  |  1,648 lines

  1.  
  2.  
  3.  
  4.  
  5.                      CONDOR
  6.                Copyright 1994 by Larry Mears
  7.                 All Rights Reserved
  8.                    version 6.0
  9.  
  10.  
  11.  
  12.  
  13.  
  14.              More POWER for menuing and games!
  15.              ---------------------------------
  16.             Version  6.0  adds JOYSTICK support
  17.                for user GUIs and Door Games,
  18.                   plus BITBLIT for moving
  19.              rectangular portions of the screen
  20.                      with ease.
  21.              The number of ZONEs (Icons/Buttons)
  22.              has been doubled to allow 128 for
  23.              board games like online chess, etc.
  24.              Syntax has been tightend and some
  25.              script filtering is performed to help 
  26.              with cranky bbs software and line noise.
  27.  
  28.  
  29.          "Requires a 80286 or later, CGA, EGA or VGA."
  30.           "Limited performance with anything less than VGA."
  31.           ---------------------------------------------------------
  32.          ANY program that supports "EXTERNAL" ANSI (ANSI.SYS)
  33.          already has __INSTANT__  Condor support built it!
  34.           ---------------------------------------------------------
  35.  
  36.        CONDOR is DONATION-WARE   there are no limits whatsoever.
  37.        If you use Condor please send $15 donation or if you can't
  38.        afford that much send what you can to encourage updates to
  39.        CONDOR.  You can't count on the other guy to do it.
  40.        Send a small check or money order to:
  41.  
  42.        Larry Mears
  43.        11027 Crestfield Dr.
  44.        Huntsville, AL 35803
  45.  
  46.  
  47.  
  48.     Disclaimer:  There is no gaurantee as to the performance of
  49.              CONDOR.  The user assumes ALL risks involved
  50.              from the use of CONDOR.
  51.  
  52.     TERMINAL, BBS, OFFLINE READER, DIGI Publisher authors it's REAL
  53.            easy for you to have CONDOR graphics in your program!
  54.                   Please see How_to.txt
  55.  
  56.  
  57.                       Index
  58.  
  59.  
  60.     Installation .............................................  1
  61.  
  62.     Description  .............................................  1
  63.  
  64.     Syntax       .............................................  2
  65.  
  66.     Constants    .............................................  3
  67.  
  68.     Variables    .............................................  3
  69.  
  70.     Aborting     .............................................  4
  71.  
  72.     Condor in Text modes .....................................  4
  73.  
  74.     Alternate Attention Sequences ............................  4
  75.  
  76.  
  77.  
  78.  
  79.                 CONDOR COMMANDS
  80.     R   Resolution .............................................  5
  81.     b   Sound Effects ..........................................  6
  82.     C   Color Set  .............................................  6
  83.     D   Drawto     .............................................  7
  84.     E   Text Fonts .............................................  7
  85.     F   Flood Fill ............................................. 10
  86.     G   BitBlit Animation .....................................  11
  87.     H   Hollow Set ............................................  11
  88.     L   Lines      ............................................  12
  89.     M   Drawing Mode ..........................................  12
  90.     n   Notes Play Pitches ....................................  13
  91.     O   Circle     ............................................  13
  92.     P   Plot a Polymarker .....................................  13
  93.     p   Position Cursor .......................................  14
  94.     S   Setcolor Register .....................................  14
  95.     s   Screen Clear and Control ..............................  15
  96.     T   Type of POLYMARKER ....................................  15
  97.     t   Timed Pause ...........................................  15
  98.     w   Write Text ............................................  16
  99.     X0  Error REACTION Level ..................................  17
  100.     X1  Joystick Calibration ..................................  18
  101.     X2  Redefine ZONE Area only ...............................  18
  102.     X3  Redefine ZONE Command String only .....................  18
  103.     X4  DEFINE ZONE(icons & buttons) ..........................  19
  104.     X5  Input Command LOCKout (BBS local side) ................  20
  105.     X6  Step Rate For < INPUT Pointer .........................  21
  106.     Z   Rectangle  ............................................. 21
  107.     z   Text Rectangle ......................................... 21
  108.     /   Comment, REMark ........................................ 21
  109.     &   LOOPing    ............................................. 22
  110.     <   INPUT Command (keyboard & joystick) .................... 24
  111.     ?0  ASK CONDOR (auto-detection) ............................ 26
  112.     ?1  ASK CONDOR (joystick report) ........................... 27
  113.     ANSI Support  .............................................. 28
  114.  
  115.  
  116.                        -1-
  117.  
  118.                       CONDOR
  119.                Copyright 1994 by Larry Mears
  120.                    All Rights Reserved
  121.                    version  6.0
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                    INSTALLATION
  130.                    ------------
  131.        Condor is a console device driver.  To use it you add a line
  132.     in your CONFIG.SYS file like:  DEVICE=CONDOR.SYS  If you have
  133.     a line in your CONFIG.SYS file like:  device=ANSI.SYS  remove it.
  134.     You can load CONDOR.SYS HIGH.  Condor will slow text output at the
  135.     DOS command line but in applications that use DIRECT text output,
  136.     most of them, there will be no slow down at all CONDOR.SYS doesn't
  137.     eat CPU time by just being in memory. USERS should also read and EDIT
  138.     the ACCESS.BAT file to set their ACCESS CODE right NOW.   SYSOPs must 
  139.     LOCK out the < INPUT on the BBS local side  refer to page -20-  Also 
  140.     see LOCK & UNLOCK.BAT
  141.  
  142.  
  143.  
  144.  
  145.                     DESCRIPTION
  146.        CONDOR is a ANSI.SYS replacment of sorts.  CONDOR enables your
  147.     CGA/EGA/VGA computer to do bitmap style graphics ANY time from DOS or
  148.     from any program that uses DOS CON: for text output.  With ANSI style
  149.     graphics you get low resolution blocky looking 80x25 graphics, with
  150.     CONDOR you get from 320x200 to 640x480 pixel graphics and ANSI too if
  151.     you want because CONDOR recognizes most ANSI commands and can execute
  152.     ANSI commands even while in a graphics mode.  CONDOR will enhance
  153.     online communications with it's abilities.  Terminal and BBS authors
  154.     will be able to access CONDOR by simply going through DOS for text
  155.     output, the faster DIRECT method only works in TEXT modes and will
  156.     not access CONDOR.SYS  In TURBO C a  bdos(2,character,0);  command is
  157.     all it takes to give a terminal CONDOR graphics and sound POWER!
  158.     With CONDOR 4.0+ it is NOW possible to DRAW a ICON and use CONDOR's
  159.     X4/X5/X6   T and <  commands to achieve POINT and CLICK operation of
  160.     BBSs or the DOS command line.
  161.  
  162.  
  163.        After you install CONDOR and reboot your system try the included
  164.     demo files by simply typing them from DOS.
  165.     Like: C:\TYPE wabbit.r16   (.r16)=resolution mode 16,  or  if you like
  166.     you can just type DEMO and the batch file will execute all the demos
  167.     by just using DOS's  "TYPE"  command, Condor is at DOS level!
  168.     The DEMO uses EGA and VGA screen modes.
  169.  
  170.  
  171.                     -2-
  172.        SYNTAX ...
  173.        As most know ANSI uses a esc[pram;pramCommand sequence it might
  174.        look like esc[31;42m  CONDOR is very different it is buffered.
  175.        You load Condor's buffer and then execute it.  Condor has a
  176.        8003 byte buffer.   To load Condor's buffer you use a sequence
  177.        like  esc{command,data:command,data: ...  esc}  the 'esc' part
  178.        is really the escape character asci character 27.  Condor
  179.        code will look like this:
  180.        esc{R6:C1,1:L0,0,639,199:t90:R3:esc}  that only loads the buffer
  181.        Use  esc#  to execute the buffer.
  182.  
  183.        The execute command actually wants a 3rd character from
  184.        A-z ( ascii values 65 to 122 including the weird characters
  185.          in between upper and lower case)
  186.        but if it encounters a SPACE or LF or any ascii character out of
  187.        the A-z range it executes as if it received a A.  This is
  188.        so Condor's buffer can be divided up into sub-blocks and the
  189.        esc# command can execute a specific block.  Sub-blocks are not
  190.        required, they are a feature for repetive things like music.
  191.        Sub-blocks within Condor's buffer begin with the { character and end
  192.        with the } character.  They don't have the esc character like the
  193.        beginning and ending block markers for the whole buffer, although
  194.        BLOCK A is actually the esc{  mark at the beginning of the Condor
  195.        buffer. A Sub-block must have a { start marker but doesn't require
  196.        a ending marker, in this case the { sub-block marker acts as a entry
  197.        point in the buffer and will execute till it hits a } character so
  198.        several { markers can share one } marker.  The position of the
  199.        { sub-block marker dictates it's name.  By the way carriage returns
  200.        and line feeds are striped from the buffer at load time but SPACES
  201.        remain.  MOST of the commands require that the computer be in a
  202.        graphics mode too, so you set that with the R command.
  203.         ( REPLACE esc with the escape character )
  204.  
  205.         esc{R6:b1:}
  206.            {L10,10,140,190:
  207.            {b12:}
  208.            {t48:R3:esc}
  209.  
  210.            To execute this in sequence you would go
  211.            esc#A esc#B esc#C esc#D  (spaces for clarity only)
  212.            Block C would get excuted twice but with this setup
  213.            you could enter at block C and skip B.
  214.            If you wanted though you could execute in any order but
  215.            for this to work right you need to execute that R6: command
  216.            first. The R3: command brings you back to a text mode.
  217.            You could go esc#A esc#B esc#D
  218.  
  219.     IMPORTANT!! MOST ALL DOS programs run in text mode so you should
  220.         ALWAYS switch back when done with your graphic.  You can
  221.         use the 't' command to pause for a short display time then
  222.         do a R3: back to text mode.
  223.  
  224.       This might be a little confusing but sub-blocks aren't required
  225.       you could just go esc{R6:b1:L10,10,140,190:b12:R3:esc}esc#A and
  226.       do it all in one block.  Sub-blocks are just for added utility.
  227.       Condor's buffer remains intact until another esc{ ... esc} is
  228.       encountered, so you can execute it several times with the esc#A and
  229.       only load it once.   You might do some repetive things so Condor's
  230.       buffer and sub-blocks can be really useful.
  231.  
  232.  
  233.  
  234.                     -3-
  235.  
  236.     CONSTANTS range from 0 to 9999.   Condor will only grab 4 digits,
  237.     trying to pass it more will mess things up.  If you did something
  238.     like this L25555100,90,10,10:  the 25555100 part would be interpreted
  239.     as L2555,100,90,10,10: and that 2555 would be off screen anyway.
  240.     As of Condor version 6.0+ syntax is tightened....
  241.     Constants MUST be seperated with a , or a : or a ;  the only
  242.     exception to this is within the & LOOP command after the 
  243.     "6th parameter" the syntax had to be lax here to allow for the
  244.     x,y,+,-,!  options within the LOOP.  Constants are parsed for numerals
  245.     so these execute the the same within the Condor buffer,
  246.     L100,200,300,200:   L1eat00,at2Joe's00,3all0night0,pub200:
  247.     The L1 in the above example is the critical point ie Le1at00, wouldn't
  248.     work, the Line wouldn't be drawn. ANSI is skipped over if within the 
  249.     CONDOR buffer. STRINGs MUST ALWAYS end with the @ symbol, if not 
  250.     commands will be eaten!  Also see the X0 eXtended command.  
  251.  
  252.     VARIABLES only exist in the '&' LOOP they are x,y,+,-,! refer
  253.     to the section on the '&' LOOP command for details.
  254.  
  255.                     -4-
  256.  
  257.     ABORTing...  The USER can press the CTRL key to abort a
  258.     't' pause command  OR to abort a '&' LOOP.  A more
  259.     drastic abort is the ALT key, it will abort a 't' pause
  260.     and the '&' LOOP plus abort the buffer BLOCK being executed
  261.     and reset the screen to the mode it was in at bootup, plus
  262.     set the text color in graphics and text mode to value 7 white.
  263.     With version 6.0+ pressing BOTH fire buttons on the JOYSTICK
  264.     will abort a 't' pause command and break out of a < INPUT command
  265.     like hitting escape does.
  266.  
  267.  
  268.     CONDOR COMMANDS in TEXT MODES:
  269.       A few commands can be executed in a text mode like the sound effect
  270.     command 'b', BUT as soon as a command that's illegal in text mode is
  271.     encountered in the Condor buffer, execution will cease and all commands
  272.     in the buffer after the illegal command will not be excuted.
  273.     However if you set the mode to a graphics all commands will execute.
  274.     This feature that was put in to keep someone from executing a graphics
  275.     command while in a text mode (causes lockups) BUT I wanted to allow
  276.     access to certain commands from text modes because text output
  277.     is much faster and you might just want a beep or blurp.
  278.     Commands that can be executed in text modes are the '&' LOOP command,
  279.     the 'R' resolution switch command, the 'n' musical NOTES command,
  280.     't' timed pause, the 'w' command WRITE text at column / row, the
  281.     'p' position text cursor at column / row, the 'C' color command,
  282.     'b' sound effects, the 'z' command write a rectangle of characters,
  283.     's' Text Area, 'E' FONT Effects, and '?' ASK CONDOR system
  284.     information (auto-detection and JOYSTICK report).
  285.  
  286.     ALTERNATE ATTENTION SEQUENCE:
  287.       Condor 4.1+ has a command that allows a additional escape sequence.
  288.     Command is #!(character)   example :   #!~  would make the ~ tilde
  289.     work as well as the ESCAPE ASCII 27 character.  This is for services
  290.     that FILTER out the escape character.  Note that the addtional escape
  291.     character becomes undisplayable.   Look for MORPH.EXE, a utility that
  292.     will convert the CONDOR graphics files with esc's to POWER or TILDE.
  293.     Also use a 's1:' after the 'R' command in the file like
  294.     ^{R18:s1:b4:C1,12:L0,0,100,100:^}^#  and keep the Condor BUFFER short
  295.     so you can keep the BBS pause screen prompt out of the buffer ie the
  296.     ^{ .... ^} part.  CPAINT's XSAVE will attempt to save a graphic out
  297.     with one line buffering, by attempt I mean "some" things just can't be
  298.     jammed into one line, but LOT's can!
  299.  
  300.  
  301.                       -5-
  302.  
  303.                 CONDOR COMMANDS
  304.  
  305.     R set Resolution   syntax example R6:
  306.     ----------------
  307.             Switchs screen resolutions. This is the Most important
  308.             command since most Condor commands need to be in a
  309.             GRAPHIC mode to work.  The R command
  310.             automatically adjusts characters for the screen mode.
  311.             Sets the HOLLOWS to TRUE (circles and rectangles will
  312.             not be filled).  Sets the point,line, and fill colors
  313.             to 1.  Sets the character attribute to 7, that's
  314.             white characters with black background, sets the
  315.             DRAW Mode to REPLACE, sets polymarkers to POINT and
  316.             polymarker size to 1, also sets the number of text
  317.             lines to 25.  The R command serves as a reset
  318.             command of sorts as well as a resolution switching
  319.             command.   This command is supposed to have no effect
  320.             if a value is passed greater than the video hardware
  321.             can support, however I am unable to test this since
  322.             I have only VGA.
  323.  
  324.             Command identifier  = R
  325.             Parameter           = Graphics mode to set
  326.  
  327.             Parameter     Screen       Colors     Type            Video
  328.              values      Resolution                             Adapter
  329.             0          40x25         16      TEXT ONLY
  330.             1          40x25         16      TEXT ONLY
  331.             2          80x25         16      TEXT ONLY
  332.             3          80x25         16      TEXT ONLY
  333.             4          320x200       4       GRAPHICS+TEXT      CGA
  334.             5          320x200       4       GRAPHICS+TEXT      CGA
  335.             6          640x200       2       GRAPHICS+TEXT      CGA
  336.             7          80x25         2       TEXT ONLY
  337.             8          N/A           N/A     N/A
  338.             9          N/A           N/A     N/A
  339.             10         N/A           N/A     N/A
  340.             11         N/A           N/A     N/A
  341.             12         N/A           N/A     N/A
  342.             13         320x200       16      GRAPHICS+TEXT      EGA
  343.             14         640x200       16      GRAPHICS+TEXT   *# EGA
  344.             15         640x350       2       GRAPHICS+TEXT    # EGA
  345.             16         640x350       16      GRAPHICS+TEXT   *# EGA
  346.             17         640x480       2       GRAPHICS+TEXT   *# VGA
  347.             18         640x480       16      GRAPHICS+TEXT   *# VGA
  348.             19         320x200       256     GRAPHICS+TEXT      VGA
  349.             20         360x480       256     GRAPHICS-ONLY   *  VGA
  350.                 *Custom Assembler Routines for SPEED
  351.                 #Modes that work with 'G' BITBLIT
  352.      Example  esc{R6:L319,10,219,110:D419,110:D319,10:t48:b15:R3:esc}esc#A
  353.  
  354.      Another way: esc{L319,10,219,110:D419,110:D319,10:t48:b15:R3:}{R6:esc}
  355.               esc#B esc#A
  356.         If you went esc#A esc#B nothing would happen except sub-block
  357.         B execution because the A block tries to draw lines and
  358.         that can only be done if a GRAPHICS mode is set, which
  359.         block B sets with the R6: command.
  360.  
  361.                     -6-
  362.  
  363.  
  364.     b sound effects     syntax example  b19:
  365.     ---------------
  366.  
  367.  
  368.                 Plays sound effects using the computer's
  369.                 speaker.  It's bells and whistle time!
  370.  
  371.  
  372.                 Command identifier = b
  373.                 Parameter          = effect number
  374.  
  375.         Effect #           Name:
  376.         --------           -----
  377.           0                pute
  378.           1                yonk
  379.           2                Wood Pecker
  380.           3                British siren
  381.           4                buzz
  382.           5                Laughing Alien
  383.           6                woops
  384.           7                click-pop
  385.           8                meep
  386.           9                barber shears
  387.          10                zip-whistle
  388.          11                hey
  389.          12                insect
  390.          13                boing
  391.          14                broken chime
  392.          15                pebble in puddle
  393.          16                beep
  394.          17                long oh
  395.          18                harmonics
  396.          19                pinball
  397.          20                buzz-zapper
  398.  
  399.      EXAMPLE: esc{b19:esc} esc#A
  400.           esc{R6:b1:b14:b20:b7:t48:R3:esc}esc#A
  401.           esc{R6:&0,20,1,0,b,1,x:R3:esc}esc#A
  402.     .......................................................................
  403.  
  404.     C color set     syntax example C1,2:
  405.     -----------
  406.             C  =  command identifier
  407.             Selects the register number to perform the screen
  408.             operation with.
  409.  
  410.             1st parameter selects screen operation color to change.
  411.             0 = Polmarker color, used for the (P  Plot command),
  412.                          and the < INPUT command.
  413.             1 = line color,  used for the (L  Line Command)
  414.             2 = fill color,  used for the (F  Fill commands and
  415.                      Z rectangle, and C circle )
  416.             3 = text color,  used with the ( w command ).
  417.  
  418.             2nd parameter selects the register number 0 to 255
  419.             depending on the graphic mode.
  420.  
  421.             EXAMPLE esc{R19:C1,2:L0,0,100,199:R3:esc}esc#A
  422.  
  423.                     -7-
  424.  
  425.      D line DRAWTO      syntax example D149,99:
  426.      -------------
  427.             D = command identifier
  428.             Draws a line from the place the last place
  429.             a line or point was drawn.
  430.             Use the C command to change line color.
  431.  
  432.             1st parameter = X coordinate
  433.             2nd parameter = Y coordinate
  434.  
  435.             EXAMPLE  esc{R6:P10,10:D100,20:D50,50:D10,10:R3:esc}
  436.                  esc#A
  437.  
  438.     .......................................................................
  439.      
  440.      E text FONTS      syntax example E4:  more below...
  441.      ------------
  442.             E = command identifier
  443.             Changes the way TEXT looks, works in text
  444.             or graphics modes.  Will set FONTs from
  445.             ROM or Condor's internal default FONTs, 
  446.             also manipulate FONTs in whole or part
  447.             to create new FONTs.  Note that this command
  448.             is meant for VGA cards but some of the things
  449.             it does will work on EGA cards, experiment!
  450.             Note: The EGA TEXT mode screen is 350 pixels high
  451.             and the VGA TEXT mode screen is _400_ pixels high,
  452.             while the VGA Graphics mode screen is 480 pixels high.
  453.  
  454.  
  455.     Switch/INIT  -> IF
  456.             1st parameter = 0 to 6  then no other parameters
  457.                 are required. Description of 1st paremeter actions 
  458.                 are as follows:
  459.  
  460.                  
  461.             ( continued on next page)
  462.  
  463.                     -8-
  464.  
  465.                 0 = SET Default ROM-FONT for current
  466.                 active video mode.  This is like
  467.                 CONDOR has always done, ie
  468.                 choses the correct ROM-FONT for
  469.                 the active video mode to maintain
  470.                 25 lines of text.  ALWAYS issue a E0:
  471.                 when going from E4: thru E7 back to 
  472.                 E0: thru E3: 
  473.                 EXAMPLE esc{E0:w1,1,TEST@E4:w1,2,TEST1@
  474.                       E0:E1:w1,20,TEST3@esc}esc#
  475.                 1 = SET 8x8 ROM-FONT yields 50 text rows in
  476.                 VGA text modes, 43 rows in EGA, in graphics 
  477.                 modes it varies. Use the 's' command to set 
  478.                 the number of text rows.
  479.                 Max text rows are Y coordinate/8
  480.                 EXAMPLE esc{E1:esc}esc#
  481.                 2 = SET 8x14 ROM-FONT yeilds 28 rows of text in
  482.                 VGA text modes, 25 rows in EGA text modes,
  483.                 in graphics mode the number of text rows vary.
  484.                 Use the 's' command to set the number of
  485.                 rows.  Max rows are Y coordinate/14
  486.                 EXAMPLE esc{E2:esc}esc#
  487.                 3 = SET 8x16 ROM-FONT yields 25 rows of text in 
  488.                 VGA text modes, 21 lines in EGA text mode, in 
  489.                 graphics mode the number of text rows will 
  490.                 vary. Use the 's' command to set the number of
  491.                 rows.  Max rows are Y coordinate/16
  492.                 EXAMPLE esc{E3:esc}esc#
  493.                 4 = INITIALIZE and make ALTERABLE FONT Active as a 
  494.                 8x8 Font using CONDOR's DEFAULT 8x8 Font.
  495.                 See ascii characters 146, 168 and 173
  496.                 EXAMPLE esc{E4:esc}esc#
  497.                 5 = INITIALIZE and make ALTERABLE FONT Active as a 
  498.                 8x14 Font using CONDOR's DEFAULT 8x14 Font.
  499.                 See ascii characters 146, 168 and 173
  500.                 EXAMPLE esc{E5:esc}esc#
  501.                 6 = INITIALIZE and make ALTERABLE FONT Active as a 
  502.                 8x16 Font using CONDOR's DEFAULT 8x16 Font.
  503.                 This is actually just the 8x14 font padded on
  504.                 the bottom with zeros, this will make more
  505.                 space between lines.
  506.                 See ascii characters 146, 168 and 173
  507.                 EXAMPLE esc{E6:esc}esc#
  508.     Load / ALTER :  
  509.  
  510.       In DECIMAL -> IF
  511.             1st parameter = 7  AND 
  512.             2nd parameter = 0  THEN Load FONT Definition in DECIMAL 
  513.             3rd parameter = character height (in pixels max 16)
  514.             4th parameter = number of characters to define(max 255)
  515.             5th parameter = ASCII value of character to begin at
  516.             Remaining parameters are DATA for the FONT represented
  517.             in whole numbers base 10, where the character is a
  518.             matrix of bits ie 0 = 00000000 255=11111111   The
  519.             base ten form is more efficient than the binary form.
  520.  
  521.                    (continued on next page)
  522.  
  523.                     -9-
  524.         EXAMPLE make ascii 65 "A" a solid BLOCK and ASCII 66 "B" a line
  525.             A FONT has to be all the same height, first INITIALIZE 
  526.             the FONT with E4: to E6: depending on the FONT height
  527.             you want, then alter only the characters you want to
  528.             customize, then issue a ACTIVATE command "E7,2,x:"  You 
  529.             can build a whole custom FONT but I wouldn't recommend 
  530.             it for ONLINE graphics since it would be 10K or so just 
  531.             for the FONT, a graphics presentation from disk would 
  532.             be better suited for that.
  533.             esc{E4:E7,0,8,1,65,255,255,255,255,255,255,255,255:0,0,
  534.             0,0,0,0,0,255:E7,2,8:esc}esc#
  535.  
  536.       In BINARY ->  IF
  537.             1st parameter = 7  AND 
  538.             2nd parameter = 1  THEN Load FONT Definitions in BINARY 
  539.             3rd parameter = character height (in pixels max 16)
  540.             4th parameter = number of characters to define(max 255)
  541.             5th parameter = ASCII value of character to begin at
  542.             remaining parameters are DATA for the FONT, 
  543.             * = bit ON,   ANY other character = bit OFF
  544.             EACH character definition _MUST_ end with a @
  545.         EXAMPLE make ascii 65 "A" ascii 66 "B" a new look 
  546.             First use a E4: to set the alterable FONT to 8x8.
  547.             esc{E4:
  548.             E7,1,8,2,65,
  549.             ---**---
  550.             --*--*--
  551.             -******-
  552.             -******-
  553.             -******-
  554.             -******-
  555.             ***--***
  556.             --------@
  557.             ******--
  558.             **--***-
  559.             ******--
  560.             *****---
  561.             **--***-
  562.             ******--
  563.             ***-----
  564.             --------@
  565.             E7,2,8:esc}esc#
  566.             
  567.             Same EXAMPLE but without all the CR/LF's 
  568.             esc{E4:E7,1,8,2,65,---**-----*--*---******--******-
  569.             -******--******-***--***--------@******--**--***-
  570.             ******--*****---**--***-******--***-------------@
  571.             E7,2,8:esc}esc#
  572.         Important
  573.         ACTIVATE -> IF
  574.             1st parameter = 7  AND
  575.             2nd parameter = 2  THEN MAKE Loaded FONT Definitions
  576.                        ACTIVE on SCREEN.
  577.             3rd parameter = character height (in pixels max 16)
  578.  
  579.             Makes the FONT you created the FONT used on the screen.
  580.             It's possible to load the FONT up and wait till you
  581.             want to make it visible.  You could load the character
  582.             definitions while someone was looking at some graphics
  583.             and reading text.
  584.             EXAMPLE esc{E7,2,8:esc}esc#
  585.  
  586.                     -10-
  587.  
  588.  
  589.     F flood FILLs   syntax example F600,10,1: or f600,10:
  590.     -------------
  591.             F or f = command identifier
  592.             'F' Fills a area by replacing ALL colors starting
  593.             at specified X,Y coordinates till it hits
  594.             a border of a specified OPERATION COLOR.
  595.             If the command used is the 'f' fill the
  596.             color at X,Y is gotten and replaced with the
  597.             fill color set by the 'C'olor command.  The
  598.             3rd parameter is dropped for the 'f' command.
  599.  
  600.             1st parameter = X coordinate
  601.             2nd parameter = Y coordinate
  602.             3rd parameter = (0 to 3) specified OPERATION COLOR:
  603.                      0 for current point color
  604.                      1 for current line  color
  605.                      2 for current fill  color
  606.                      3 for current text  color
  607.  
  608.             EXAMPLE esc{R16:C1,12:C2,2:P100,10:D200,100:
  609.                     D0,100:D100,10:F150,90,1:t48:b15:R3:esc}
  610.                     esc#A
  611.  
  612.  
  613.                     -11-
  614.  
  615.     G BitBlit Animation     G0,10,10,80,85:  or  G1,234,99:
  616.     -------------------
  617.               G = command identifier
  618.               Grabs a rectangular portion of the screen
  619.               and stores it in the FONT buffer  or
  620.               takes the rectangular image in the FONT buffer
  621.               and places it on the screen.  A previously loaded
  622.               custom FONT will be wiped out, so you might
  623.               want to use the ROM FONTs when Blitting or
  624.               reload the FONT afterward.  Sorry but memory
  625.               restraints placed on DEVICE drivers forced this
  626.               upon Condor.   The maximum size rectangle area
  627.               you can move is 90x91, although this is not a
  628.               actual dimension size limit but a square pixel
  629.               area limitation of 8192 pixels.  90x91=8190 so
  630.               it just fits,  you could do a 45x182 because that
  631.               would be 8190 pixels also and within the limit.
  632.               If the limit is exceeded Condor will print a
  633.               response on the screen saying so and the screen
  634.               area will not be stored.   As of Condor version 6.0
  635.               ONLY  16 color graphic modes are supported by the
  636.               'G'  BitBlit command,  these are  set with
  637.               R13:  R14:  R16: R18:    Also you can XOR the image
  638.               with the 'G '  command  XORing twice in the same
  639.               location restores the background.  To set XOR mode
  640.               see the 'M'ode drawing Mode command.  
  641.  
  642.            1st Parameter = operation to perform:
  643.            GET ->   If 1st parameter = 0  then GET the screen AREA and
  644.                   store it in memory (FONT buffer).
  645.               2nd parameter = upper left  corner X coordinate
  646.               3rd parameter = upper left  corner Y coordinate
  647.               4th parameter = lower right corner X coordinate
  648.               5th parameter = lower right corner Y coordinate
  649.  
  650.            PUT ->   If 1st parameter = 1  then PUT the screen AREA in
  651.                   memory on the screen.
  652.               2nd parameter = upper left  corner X coordinate
  653.               3rd parameter = upper left  corner Y coordinate
  654.  
  655.             example esc{R18:C1,14:C2,12:H0:Z10,10,80,80:
  656.                 G0,10,10,80,80:b0:G1,0,100:b1:G1,120,150:
  657.                 b1:G1,220,200:b0:t98:b0:b1:R3:esc}esc#A
  658.  
  659.     .......................................................................
  660.  
  661.     H hollow set    syntax example H0:
  662.     ------------
  663.             H = command identifier
  664.             When on non solids are drawn, a circle will be
  665.             drawn instead of a disk.
  666.  
  667.             Parameter  1=on  0=off
  668.  
  669.             EXAMPLE esc{R6:H0:Z10,10,100,50:H1:Z110,10,200,50:
  670.                     t90:b7:R3:esc}esc#A
  671.  
  672.                     -12-
  673.  
  674.     L draw LINE     syntax example L0,0,300,150:
  675.     -----------
  676.             L = command identifier
  677.             Draws a line between specified points.
  678.             Use the C command to change line color.
  679.  
  680.             1st parameter = beginning X coordinate
  681.             2nd parameter = beginning Y coordinate
  682.             3rd parameter = ending    X coordiante
  683.             4th parameter = ending    Y coordinate
  684.  
  685.             EXAMPLE esc{R6:L0,0,639,0:L639,0,639,199:
  686.                     L639,199,0,199:L0,199,0,0:
  687.                     L0,199,639,0:L0,0,639,199:
  688.                     t90:b19:R3:esc}esc#A
  689.  
  690.     .......................................................................
  691.  
  692.     M drawing MODE  syntax example M2:
  693.     --------------
  694.  
  695.             M = command identifier
  696.  
  697.             Parameter sets drawing mode.
  698.             1 = replace     2 = XOR
  699.  
  700.             Will not work in graphics mode 19.
  701.             Effects anything drawn after setting but only
  702.             after a C command in screen resolutions other than
  703.             R20: R18: R17: R16: R15: R14:   So you set M  then do
  704.             a C (color set) and anything drawn with that color
  705.             will be drawn in XOR mode.  XOR mode is good
  706.             for drawing things on top of things because
  707.             if you draw it twice the XORed drawing disappears
  708.             leaving the background untouched!  Because
  709.             XOR makes the 'F' fill command go koo-koo 
  710.             you should only cut XOR on when you need it then
  711.             cut it back off!  Some commands will disable XOR
  712.             mode and make you use M2: again and a 'C' command to 
  713.             get XOR back.  
  714.  
  715.             EXAMPLE  esc{R6:M2:H1:C1,1:Z100,20,200,198:
  716.                      Z50,50,250,160:t90:b7:Z50,50,250,160:
  717.                      t48:b20:R3:esc}esc#A
  718.  
  719.                     -13-
  720.     n  notes play   syntax example:
  721.     -------------   n0,4000,1000,1:  or n1,0,9999,100,10,500,1:
  722.  
  723.             n = command identifier
  724.             Uses your computer's 1 bit sound and speaker to
  725.             play pitches from 0 to 9999  timed sustains with
  726.             sound shut off flag.  Or can play a PITCH FROM TO
  727.             with STEP and delays between steps with trailing
  728.             SUSTAIN and sound shut on off FLAG.
  729.  
  730.            IF 1st parameter is 0 then
  731.               2nd parameter = pitch, range(0-9999)
  732.               3rd parameter = sustain in 18.2ths of a sec range(0-9999)
  733.               4th parameter = OFF FLAG  0=leave playing,  1=shut off
  734.  
  735.            IF 1st parameter is 1 then
  736.               2nd parameter = FROM pitch, value range(0-9999)
  737.               3rd parameter = TO   pitch, value range(0-9999)
  738.               4th parameter = STEP value, range(1-9999)
  739.               5th parameter = DELAY between STEPs  18.2ths sec(0-9999)
  740.               6th parameter = SUSTAIN when TO value reached 18.2ths sec
  741.               7th parameter = OFF FLAG  0=leave playing  1=shut off
  742.  
  743.  
  744.              EXAMPLE: esc{R6:n0,1100,4,0:n0,1200,4,0:n0,1300,4,0:
  745.                   n0,1400,4,0:n0,1500,4,0:n0,1600,4,0:
  746.                   n0,1700,4,0:n0,1800,4,0:n0,1900,4,0:
  747.                   n0,2000,4,0:n0,2100,4,0:n0,2200,4,0:
  748.                   n0,2300,4,0:n0,2400,4,0:n0,2500,4,1:
  749.                   R3:esc}esc#A
  750.  
  751.     .......................................................................
  752.  
  753.     O   CIRCLE     syntax example O159,100,75:
  754.     ----------
  755.             O = command identifier
  756.             Draws a disc or circle depending if the
  757.             H command is active or not.  This command
  758.             does not do a aspect ratio, so the best
  759.             circles will be in the 320x200 and 640x480
  760.             graphics modes.
  761.  
  762.             1st parameter = X coordinate of circle center
  763.             2nd parameter = Y coordinate of circle center
  764.             3rd parameter = radius of circle
  765.  
  766.         EXAMPLE  esc{R6:O319,99,40:t48:R3:esc}esc#A
  767.     .......................................................................
  768.  
  769.     P  PLOT a polymarker  syntax example P149,99:
  770.     --------------------
  771.             P = command identifier
  772.             Plot a POLYMARKER on the screen.
  773.             Use the C  command to alter the color.
  774.             The 'T' command will change what's plotted.
  775.  
  776.             1st parameter = X coordinate
  777.             2nd parameter = Y coordinate
  778.  
  779.         EXAMPLE esc{R6:T3,1:P100,100:P0,0:P40,188:t48:R3:esc}esc#A
  780.  
  781.                     -14-
  782.  
  783.     p position cursor   syntax example  p78,24:
  784.     -----------------
  785.             p = Command identifier
  786.             Positions the text cursor at column, row.
  787.             The max row is limited by the 's' command.
  788.  
  789.             1st parameter = column (1 to 80 )
  790.             2nd parameter = row    (1 to 25 )
  791.  
  792.             EXAMPLE esc{R6:p10,21:esc}esc#A
  793.      ......................................................................
  794.  
  795.      S setcolor register
  796.      -------------------
  797.             S = command identifier
  798.             Sets one COLOR register for CGA/EGA/VGA
  799.             the syntax is different depending on the
  800.             adapter and current graphics mode set by
  801.             the R command.  This command also can change
  802.             the BORDER color and switch BLINKing on/off.
  803.             Supports (R19:) 320x200 256 colors too.
  804.  
  805.          IF in a CGA graphics mode R6: R5: or R4:
  806.              ---          syntax is like: S1,1:
  807.             1st parameter selects which to alter
  808.                 a Color Palette or
  809.                 a BORDER and BACKGROUND change.
  810.                  0=Set border & background
  811.                  1=Set color palette
  812.             2nd parameter is color value for background & border
  813.                 (0-15) or color palette(0-1) to change to.
  814.  
  815.          IF in a EGA/VGA graphics mode R13: TO R18:
  816.              -------    syntax is like: S0,2,63:  to set a register
  817.                 syntax is like: S1,63:    to set border color
  818.                 syntax is like: S2,1:     to set blink flag
  819.             1st parameter selects which to alter
  820.                 color register, border color or blink
  821.  
  822.                    To set a COLOR REGISTER:
  823.                    1st prammeter = 0
  824.                    2nd parameter = REGISTER number ( 0 to 15 )
  825.                    3rd parameter = Color Val(0-63) (0-15)R13:,R14:
  826.  
  827.                    To set the BORDER COLOR:
  828.                    1st parameter = 1
  829.                    2nd parameter = color Val(0-63) (0-15)R13:,R14:
  830.  
  831.                    To  turn BLINK on/off
  832.                    1st parameter = 2
  833.                    2nd parameter = 0 blink OFF or
  834.                            1 blink ON
  835.  
  836.          IF in VGA/MCGA graphics mode R19: or R20: VGA(360x480 256 colors)
  837.            --------          syntax is like: S227,24,255,0:
  838.                 1st parameter = color register number 0-255
  839.                 2nd parameter = RED   value ( 0 - 63 )
  840.                 3rd parameter = GREEN value ( 0 - 63 )
  841.                 4th parameter = BLUE  value ( 0 - 63 )
  842.  
  843.                     -15-
  844.  
  845.     s Screen Clear & Control    syntax example s0: or s60:
  846.     ------------------------
  847.             s = Command identifier
  848.  
  849.             Clears the screen by resetting the graphics mode to
  850.             whatever mode is currently selected or adjusts
  851.             the number of text lines the screen has.  This command
  852.             will CLEAR the WHOLE screen, use a ANSI esc[2J to
  853.             only clear the TEXT area set by 's'.  This command 
  854.             is meant for graphics modes, it has some minor effects
  855.             in text modes.
  856.  
  857.             Parameter = 0 to 80
  858.                IF this parameter = 0 then just CLEAR whole screen.
  859.                IF this parameter greater than zero then set TEXT
  860.                   lines screen has:
  861.                   80 lines max(using 8x6 font with 480 tall modes)
  862.                   1  line minimum
  863.  
  864.         EXAMPLE esc{R18:L10,10,639,180:t32:b12:s30:t48:b17:esc}esc#A
  865.     .......................................................................
  866.  
  867.     T  polymarker TYPES     T3,4:
  868.     ---------------------
  869.             T = command identifier
  870.             Sets the polymarker(shape) to use.
  871.             EFFECTS the pointer for the < INPUT comand
  872.             and the output of the P "plot" command.
  873.             Use the C command to alter the Color.
  874.  
  875.             1st parameter picks type of polymarker
  876.                0 = pixel
  877.                1 = up arrow         2 = cross hair
  878.                3 = 5 point star     4 = rectangle
  879.                5 = diagonal cross   6 = diamond
  880.                7 = rectangle +      8 = circle +
  881.                9 = trivit
  882.  
  883.             2nd parameter = size of polymarker, range 1 thru 255
  884.  
  885.         EXAMPLE esc{R18:C0,12:T3,10:P100,100:t48:R3:esc}esc#A
  886.     .......................................................................
  887.  
  888.     t  Timed Pause     syntax example t52:
  889.     --------------
  890.             t = Command identifier
  891.             Wait for specified 18.2ths of a second.
  892.             You can pause up to 1092 units, which
  893.             is one full minute.  If the graphic is a on-line
  894.             graphic put this near the end of it to avoid
  895.             serial buffer overflow or keep the pause short.
  896.             To ABORT a Pause the User can press the Ctrl key
  897.             or BOTH fire buttons on either JOYSTICK.
  898.  
  899.             Parameter = 1 to 1092  18.2ths of a second
  900.  
  901.             EXAMPLE: esc{R6:Z20,20,150,140:t52:b19:R3:esc}esc#A
  902.  
  903.  
  904.                     -16-
  905.  
  906.     w  Write text   syntax example   w10,20,LOOK AT US NOW - by Joe Walsh@
  907.     -------------
  908.             w = Command identifier
  909.  
  910.             Writes a string of characters ending with a
  911.             @ symbol at the column, row specified.
  912.             It's VERY VERY important to end the string with @,
  913.             If you don't this command will eat the the code
  914.             after it!  Pressing the ALT key may recover.
  915.             The @ symbol can be printed only if it is
  916.             the only character in the string to print,
  917.             ie  w10,10,@   would print the @ symbol
  918.             at location 10,10.  Also note that the
  919.             : need not be used after the @ symbol.
  920.             This command has full access to the screen even
  921.             if the screen has been shrunk with the 's' command.
  922.             Use the C command to change the text color.
  923.             Note: This command will not work in R20: you must
  924.             draw all text in that mode, for now...
  925.  
  926.             1st parameter =  column ( 1 to 80 )
  927.             2nd parameter =  row    ( 1 to Max needed)
  928.             3rd parameter = string of characters ending with a @
  929.  
  930.             EXAMPLE  esc{R6:w10,20,Back to Humans - by Queen@t52:
  931.                      R3:esc}esc#A
  932.  
  933.                     -17-
  934.  
  935.                  eXtended Commands
  936.                  -----------------
  937.               Extended commands are invoked by a captial X and a 
  938.               number ranging from 0 to 9999. X COMMANDS are ONLY 
  939.               available while in a GRAPHICS mode!
  940.     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  941.  
  942.     X0 Error REACTION Level   X0,0:  X0,1:  X0,2:
  943.     -----------------------
  944.                   X0 = command identifier
  945.                   Condor v6.0+ adds "some" filtering and
  946.                   error detection in the scripts.
  947.                   This command sets how Condor reacts
  948.                   when it thinks it found a bad command
  949.                   in the buffer it is executing.
  950.                   A bad command is identified as a 
  951.                   Letter command not followed directly
  952.                   by a DIGIT.  Example esc{ContinueR3:esc}
  953.                   the word "Continue" would produce bad 
  954.                   command alerts within Condor.  The R3:  
  955.                   would be executed since it is R followed by
  956.                   a DIGIT.  The only exception is the  
  957.                   COMMENT Command /text....@ will not produce
  958.                   a bad command alert.   Parameters are 
  959.                   filtered for non-digits and will not
  960.                   produce a bad command alert.  This can't  
  961.                   stop all errors from line noise or whatever
  962.                   but it will help a lot.
  963.                   
  964.                   1st parameter = Error Reaction Level
  965.                       0 = NORMAL (default)  if a bad command
  966.                       is found in the buffer skip it and
  967.                       go to the next character in the 
  968.                       buffer, check it and continue until a 
  969.                       LETTER followed directly by a DIGIT 
  970.                       is found or end of buffer is reached.
  971.                       1 = Condition YELLOW  if a bad command
  972.                       is found then end a LOOP command if
  973.                       executing and end buffer execution.
  974.                       2 = RED Alert, if a bad command is found
  975.                       end a LOOP if executing end buffer 
  976.                       execution, set screen mode to default
  977.                       at bootup, adjust character set for
  978.                       default screen mode, set text color 
  979.                       to register 7.
  980.  
  981.                     -18-
  982.  
  983.     X1 JOYSTICK Calibration   X1,40,130,40,130:
  984.     -----------------------   X1 = command identifier
  985.                  Sets the Low and High Range reading to accept from 
  986.                  the Joystick as netural.  The normal defaults are 
  987.                  30 for low and 120 for the high setting.  You 
  988.                  shouldn't have to change this much if at all.  But 
  989.                  if your joystick won't trim you can use this to 
  990.                  obtain a netural reading of (5.) from the  
  991.                  " ?1: and ?2: " commands.
  992.                  1st parameter = Low Range (0-255)  for joystick(1)
  993.                  2nd parameter = High Range(0-255)  for joystick(1)
  994.                  3rd parameter = Low Range (0-255)  for joystick(2)
  995.                  4th parameter = High Range(0-255)  for joystick(2)
  996.     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  997.     X2 REDEFINE ZONE Area   X2,127,10,10,80,90:
  998.     ---------------------   X2 = command identifier
  999.                  Redefines a Zone's borders that was previously 
  1000.                  defined with the X4  command.  This command is 
  1001.                  the same as X4 but it doesn't redefine the command
  1002.                  string or allow the optional 9997+ commands.
  1003.                  Use the X4 command to define new ZONEs.
  1004.                  Redefine Zone Borders:
  1005.                  1st parameter = ZONE number (0-127)
  1006.                  2nd parameter = upper left  corner X coordinate
  1007.                  3rd parameter = upper left  corner Y coordinate
  1008.                  4th parameter = lower right corner X coordinate
  1009.                  5th parameter = lower right corner Y coordinate
  1010.     . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  1011.     X3 REDEFINE ZONE string   X3,69,3,dir:
  1012.     -----------------------   X3 = command identifier
  1013.                  Redefines a Zone's command string that was 
  1014.                  previously defined with the X4  command.  This 
  1015.                  command can be a time saver in the right 
  1016.                  situation, such as all ZONEs are the same size
  1017.                  and you need to change what each Zone does on the
  1018.                  fly. Use the X4 command to define whole new ZONEs.
  1019.                  Redefine Zone command string:
  1020.                  1st parameter = ZONE number (0-127)
  1021.                  2nd parameter = number of characters in string
  1022.                          to transmit to the keyboard,
  1023.                          maximum 4, this limit imposed
  1024.                          to keep things like "FORMAT C:\"
  1025.                          from being hidden in a graphic.
  1026.                  3rd = the string itself with a ending : seperator,
  1027.                    don't count the seperator as part of the
  1028.                    string length required for 2nd parameter.
  1029.  
  1030.                     -19-
  1031.  
  1032.     X4  DEFINE and LOAD ZONE data   X4,0,0,0,79,49,3,f/L:
  1033.     -----------------------------
  1034.                  X4 = command identifier
  1035.                  Defines a rectangular area and associates a
  1036.                  string of characters with it, a ZONE.
  1037.                  The string is sent to the keyboard buffer by
  1038.                  the " < " command if the ARROW key option is
  1039.                  used.  Most MOUSE driver software can produce
  1040.                  ARROW key values and ENTER when the left button
  1041.                  is pressed, this allows "Point and Click"
  1042.                  operation of remote systems or the sending
  1043.                  of short commands to the DOS command line.
  1044.  
  1045.         Zone ID  ->      1st parameter = zone number to define/load
  1046.                  This is a number between 0-127 or
  1047.                  optional value is 9997+. If Zone ID is
  1048.                  9999  ALL Zone's retangular areas
  1049.                  are defined as -1,-1,-1,-1 by Condor
  1050.                  internally.  This is to give a quick
  1051.                  clean slate.
  1052.                  When "Zone Loopback" is on the
  1053.                  '<' input command will continue to
  1054.                  poll a user until he selects a valid
  1055.                  defined ZONE or hits the ESC key.
  1056.                  examples X4,9999:
  1057.                       X4,9998:  Zone Loopback ON
  1058.                       X4,9997:  Zone Loopback OFF
  1059.                             (default loopback OFF)
  1060.                  No other parameters are required if
  1061.                  Zone ID is 9999-9997.
  1062.  
  1063.      Define Borders   ->     2nd parameter = upper left  corner X coordinate
  1064.                  3rd parameter = upper left  corner Y coordinate
  1065.                  4th parameter = lower right corner X coordinate
  1066.                  5th parameter = lower right corner Y coordinate
  1067.      Load string data ->     6th parameter = number of characters in string
  1068.                          to transmit to the keyboard,
  1069.                          maximum 4, this limit imposed
  1070.                          to keep things like "FORMAT C:\"
  1071.                          from being hidden in a graphic.
  1072.                  7th = the string itself with a ending : seperator,
  1073.                    don't count the seperator as part of the
  1074.                    string length required for 6th parameter.
  1075.  
  1076.             example esc{R16:X4,0,0,0,79,49,1,G:esc}esc#A
  1077.  
  1078.                     -20-
  1079.  
  1080.             S Y S O P S  &  BBS USERs IMPORTANT!!!!
  1081.  
  1082.     X5 Input '<' COMMAND LOCK   X5,3,8905,2345,1758:
  1083.     -------------------------
  1084.               X5 is DIGITAL LOCK to turn ZONE input on/off
  1085.               for BBS LOCAL side, affects the '<' input command.
  1086.               ALL users set your ACCESS code.
  1087.               Replace the xxxx,xxxx,xxxx with a made up sequence.
  1088.               ie  X5,3,1,8,1959:  My birthday.
  1089.  
  1090.               Where xxxx = any number between 0-9999
  1091.               esc = ASCII character value 27
  1092.  
  1093.       USERS  --->    "X5,3,xxxx,xxxx,xxxx:"  SETS your INPUT Command
  1094.               lockout access code,  this access code can only be
  1095.               set once at BOOTUP when all the ACCESS CODEs are at
  1096.               zero, further access to ANY X5 command requires
  1097.               YOUR access Code.  ALL should set a ACCESS code!
  1098.         example-> ECHO ON
  1099.               REM - esc{R4:X5,3,xxxx,xxxx,xxxx:R3:esc}esc#A
  1100.  
  1101.       SYSOPs --->     This SETs access code and LOCKs out  < INPUT.
  1102.               At BOOTUP execute in a TEXT file TYPE"ed"
  1103.               from your AUTOEXEC.BAT or turn ECHO ON and make it a
  1104.               REM line in AUTOEXEC.BAT, a sequence like:
  1105.       ECHO ON
  1106.       REM - esc{R4:X5,3,xxxx,xxxx,xxxx:X5,0,xxxx,xxxx,xxxx:R3:esc}esc#A
  1107.  
  1108.       SYSOPs --->    "X5,0,xxxx,xxxx,xxxx:" turns '<' INPUT OFF,
  1109.               This is done from a text file TYPE"ed" to CONDOR
  1110.               DON'T put this in a MENU!  Put it somewhere
  1111.               only the SYSOP can SEE.  This command shuts
  1112.               down the < INPUT command,  you don't want the
  1113.               < INPUT command working on the BBS local side
  1114.               except to test a MENU you created.  If you don't
  1115.               shut down the < INPUT command on the BBS side the
  1116.               BBS will wait forever for input from the sysop's
  1117.               keyboard!  You must do this privately only where
  1118.               the sysop's Condor sees it, you don't want put it
  1119.               in MENU text and shut down < INPUT on the USER SIDE.
  1120.  
  1121.       SYSOPs --->     "X5,1,xxxx,xxxx,xxxx:"  Turns the < INPUT command
  1122.                access back ON.  Do this to make < INPUT work for
  1123.                Point & Click Menu TESTing.  Then SHUT it OFF!!!
  1124.         example->  ECHO ON
  1125.                REM - esc{R4:X5,1,xxxx,xxxx,xxxx:R3:esc}esc#A
  1126.  
  1127.              See  LOCK.BAT, UNLOCK.BAT, ACCESS.BAT for extra help.
  1128.     .......................................................................
  1129.  
  1130.     X6 Set ARROW key Step Rates     X6,12,10:
  1131.     ---------------------------
  1132.                X6 = command identifier
  1133.                Set the X Y step rates for the arrow key
  1134.                and joystick movements of the pointer invoked
  1135.                by the < input command used with the ZONES.
  1136.  
  1137.                1st parameter =
  1138.                 X step rate range 1 to 32
  1139.                2nd parameter =
  1140.                 Y step rate range 1 to 32
  1141.                EXAMPLE esc{R18:X6,16,10:esc}esc#A
  1142.  
  1143.                     -21-
  1144.  
  1145.  
  1146.     Z  Rectangle    syntax example  Z0,0,639,199:
  1147.     ------------
  1148.             Z = Command identifier
  1149.  
  1150.             Draws a rectangle, you specify
  1151.             the upper left and lower right
  1152.             corner coordinates.  Use the
  1153.             C command to change colors and
  1154.             the H command to draw a solid
  1155.             instead of a frame.
  1156.  
  1157.             1st parameter = upper left corner  X coordinate
  1158.             2nd parameter = upper left corner  Y coordinate
  1159.             3rd parameter = lower right corner X coordinate
  1160.             4th parameter = lower right corner Y coordinate
  1161.  
  1162.             EXAMPLE esc{R6:Z20,50,277,189:t48:b15:R3:esc}esc#A
  1163.  
  1164.     .......................................................................
  1165.  
  1166.  
  1167.     z  TEXT Rectangle       syntax example  z1,1,80,25,*:
  1168.     -----------------
  1169.  
  1170.             z = Command identifier
  1171.  
  1172.             Prints a rectangle made of a specified
  1173.             character with the upper left corner and
  1174.             lower right corners specifed as column and
  1175.             row coordinates.  You can get high ascii
  1176.             characters by holding alt and typing the ascii
  1177.             value on the numeric keypad.  Useful is ascii
  1178.             219 for FILLING large areas and then only using
  1179.             the slow F or f command to fill in the edges.
  1180.  
  1181.             1st parameter = upper left  corner COLUMN ( 1 to 80 )
  1182.             2nd parameter = upper left  corner ROW    ( 1 to 25 )
  1183.             3rd parameter = lower right corner COLUMN ( 1 to 80 )
  1184.             4th parameter = lower right corner ROW    ( 1 to 25 )
  1185.             5th parameter = CHARACTER to make the rectangle with
  1186.                     followed by the : just like a number
  1187.                     value.
  1188.             EXAMPLE esc{R6:z4,3,8,12,X:t48:b18:R3:esc}esc#A
  1189.  
  1190.     .......................................................................
  1191.  
  1192.  
  1193.     /  COMMENT     syntax example /Anything you like ending with a@
  1194.     ----------
  1195.                / = command identifer
  1196.                Use this to add comments inside CONDOR script.
  1197.                It has no effect and will not be printed to the screen.
  1198.                The Comment must BEGIN with a /  and end with a @
  1199.                Maximum length of a comment is /...127 characters...@
  1200.  
  1201.                example esc{R16:b0:/We just set 640x350x16@R3:esc}esc#A
  1202.  
  1203.                     -22-
  1204.  
  1205.     &  LOOP a command(s)     &0,198,6,0,L,4,0,0,x,y:
  1206.     --------------------
  1207.  
  1208.             & = command identifier
  1209.  
  1210.             Loops a command a specified number of times with
  1211.             stepping, special options for XOR ing and the
  1212.             write text command.   You can loop a
  1213.             chain of commands, see parameter 5,  BUT you can't
  1214.             loop a loop.  Still this command is very powerful
  1215.             and worth every effort to learn!
  1216.             Note: PRESS the CTRL key to abort a loop.
  1217.  
  1218.             1st parameter = FROM value
  1219.                 if FROM value bigger than TO value
  1220.                 loop will detect and step backwards.
  1221.  
  1222.             2nd parameter = TO value
  1223.             3rd parameter = step value, positive number only.
  1224.             4th parameter = DELAY  roughly a 360th of a second
  1225.                     between each step of the loop.
  1226.             5th parameter = command Identifier to loop.
  1227.                 optional specification character after 5th
  1228.                 parameter instead of comma:
  1229.                    | = XOR stepping
  1230.                    @ = get text for w command everytime
  1231.                    otherwise text written from loop
  1232.                    with the w command is last text
  1233.                    written with w command before the
  1234.                    loop was executed.  w command now
  1235.                    ignores CR and LF so loop command
  1236.                    can be used for easy written text
  1237.                    placement with the  loop's stepping.
  1238.            NOTE: (Chain Gang) If a > symbol is given here as a command
  1239.                   identifer chain gang option is invoked.
  1240.                   This allows multiple commands to LOOPed.
  1241.                   Instead of one command specified for this
  1242.                   parameter a string of command identifers
  1243.                   are passed.
  1244.                   The > to get CONDOR's attention to chain-
  1245.                   gang, and ending with the @ FOLLOWED by a
  1246.                   comma.   Like this >CL@,
  1247.                     C is at command position 0
  1248.                     L is at command position 1
  1249.                   The position of the command is the key
  1250.                   to which command will be executed.
  1251.                   There can be up to 128 (0-127) commands in
  1252.                   this command string in any order you like.
  1253.  
  1254.     Example: switching line color and drawing lines too
  1255.     esc{R14:&0,636,6,0,>CL@,16,0)1,3:1)319,99,x,20:0)1,2:1)319,99,+2,20:
  1256.         t48:b11:R3:esc}esc#A
  1257.     You can replace the  )  above with the commands themself
  1258.     (or any non-numeric character) like so:
  1259.     esc{R14:&0,636,6,0,>CL@,16,0C1,1:1L319,99,x,179:0C1,2:1L319,99,+2,179:
  1260.         t48:b12:R3:esc}esc#A
  1261.  
  1262.             ( continued on next page )
  1263.  
  1264.  
  1265.                     -23-
  1266.  
  1267.             6th parameter = total number of parameters command(s)
  1268.                 that are being looped requires.  You are required
  1269.                 to specify the total number the command(s) requires
  1270.                 ie L command requires 4 , ie C command 2.
  1271.                 If using the CHAIN GANG option a L command requires
  1272.                 5 parameters, a C command 3.
  1273.                 You can specify multiples of the required number
  1274.                 such as 8 or 12 for the L command, Maximum up to
  1275.                 2048, for LOOPing several L ine commands at once,
  1276.                 this works sort of like BASIC's READ DATA
  1277.                 statements between each LOOP step.
  1278.  
  1279.               REMAINING parameters = whatever the command(s) being
  1280.                 looped requires.  If you use a "x" as a
  1281.                 parameter it will be stepped in the direction
  1282.                 of the FROM TO values, use a "y" and the loop
  1283.                 will step the value in a reverse direction.
  1284.                 You can use both "x" and "y" at the same time.
  1285.                 If you use a number it will remain as a constant
  1286.                 for the command being looped through out the
  1287.                 loop execution.
  1288.  
  1289.                  You can preceed constants for a command being
  1290.                  LOOPed with +,-, or !
  1291.  
  1292.                  +CONSTANT will ADD the CONSTANT to the x step
  1293.                   value.
  1294.  
  1295.                  -CONSTANT will SUBTRACT the CONSTANT from the
  1296.                   x step value.
  1297.  
  1298.                  !CONSTANT will SUBTRACT the x step value from
  1299.                   the CONSTANT.
  1300.  
  1301.            syntax example &10,50,4,0,L,4,x,+90,!639,-2:
  1302.  
  1303.     LOOP example, Written text option:
  1304.     esc{R6:&1,7,1,0,w@2,25,x,A. Item 1@
  1305.     B. Item 2@
  1306.     C. Item 3@
  1307.     D. Item 4@
  1308.     E. Item 5@
  1309.     F. Item 6@
  1310.     G. Item 7@
  1311.     t72:b4:R3:esc}esc#A
  1312.  
  1313.     Example of loop used to READ DATA and step within at the same time in
  1314.     both directions.
  1315.     esc{R6:&0,639,4,0,L,16,319,99,x,0:319,99:y,0:319,99,x,199:319,99:y,199:
  1316.         t52:b16:R3:esc}esc#A
  1317.  
  1318.                     -24-
  1319.     <  INPUT Command   <1,0,1:
  1320.     ----------------
  1321.                < = command identifier
  1322.                Gets input from user's keyboard and transmits it as soon
  1323.                as the LAST command in the Condor Buffer is executed.
  1324.                Should be used near the end of a MENU, as the BBS will
  1325.                continue to send to the terminal while the INPUT command
  1326.                is waiting on the user.  This is so the BBS will be
  1327.                waiting for INPUT when CONDOR sends the user's response
  1328.                at buffer excution exit.  The INPUT command is good for
  1329.                letting you use any resolution you want for a BBS MENU
  1330.                and then to issue some reset commands. Also the < input
  1331.                command can optionally INVOKE JOYSTICK/ARROW key routine
  1332.                for the X4 command so ZONES can be pointed to and
  1333.                clicked on, you must use X4 to define and load the zone
  1334.                strings first and you should use CONDOR to draw some
  1335.                borders(ICONS) around the zones so the user will know
  1336.                where and what he is selecting when he clicks on a ZONE.
  1337.                The selected Zone's associated data string is
  1338.                transmitted to the BBS as soon as CONDOR executes
  1339.                the last command in it's buffer.  ZONE 63 is the default
  1340.                ZONE, it's associated data string will be sent if no
  1341.                ZONES match where the user clicked.  You should always
  1342.                define ZONE 63.   PLEASE see command X5 and use it right
  1343.                away as the input command can hang up a BBS on the local
  1344.                side and should be LOCKED out except when a SYSOP is
  1345.                testing menus he made using the <  command.
  1346.                You may find the X6 command useful too.
  1347.            1st parameter = Transmitt carriage return at the end
  1348.                    of the string INPUTted?  1 = YES  0 = NO
  1349.            2nd parameter = type of INPUT
  1350.                    0 = One key,  (hot key)
  1351.                    1 = String, with a return to
  1352.                        end input from user,
  1353.                        max string length = 14
  1354.                    2 = MOUSE ZONE Arrow keys, activate a
  1355.                        POLYMARKER mouse pointer, use the " T "
  1356.                        command to select mouse type and size
  1357.                        and the 'C' command to set mouse color.
  1358.                        User moves mouse with ARROW keys and
  1359.                        clicks on a "ZONE" by hitting ENTER.
  1360.                        The associated ZONE string is copied
  1361.                        into INPUT's buffer to be transmitted to
  1362.                        BBS at the end of the CONDOR buffer
  1363.                        execution via the keyboard buffer.
  1364.                        The escape key aborts.
  1365.                   3 or 4 = MOUSE ZONE Joystick, activate POLYMARKER
  1366.                        mouse pointer, use the " T " command
  1367.                        to select mouse type and size and the
  1368.                        " C " command to set mouse color.
  1369.                        User moves mouse with the JOYSTICK
  1370.                        or ARROW keys and Presses a firebutton
  1371.                        or presses ENTER to click on a "ZONE".
  1372.                        The associated ZONE string is copied
  1373.                        into INPUT's buffer to be transmitted to
  1374.                        BBS at the end of the CONDOR buffer
  1375.                        execution via the keyboard buffer.
  1376.                        BOTH Firebuttons pressed at once or the
  1377.                        escape key aborts.  4 = use joystick(2)
  1378.  
  1379.             ( continued on next page )
  1380.  
  1381.                     -25-
  1382.  
  1383.            3rd parameter = Output options
  1384.                    0 = Don't show input typed from user
  1385.                        on his screen. Has no effect on
  1386.                        Mouse ZONES.
  1387.                    1 = Show input typed from user on screen.
  1388.                        Has no effect on Mouse ZONES.
  1389.                    2 = Show input but throw it away, don't
  1390.                        transmit it at the end of the chain.
  1391.                        Does effect Mouse ZONE.
  1392.                    3 = Don't show input from user, and throw it
  1393.                        away too.  Does effect Mouse ZONE.
  1394.  
  1395.  
  1396.        Note:  If 2 ZONES areas are over lapping on the screen the
  1397.           ZONE with the lower value ID number will get selected when
  1398.           the mouse is clicked on both ZONEs at the same time.
  1399.  
  1400.                    +----+--------------------+
  1401.       user clicks in here ---> |ID=1|                    |
  1402.       ZONE 1 gets selected     +----+   ID=10            |
  1403.                    |                         |
  1404.                    +-------------------------+
  1405.  
  1406.                    +----+--------------------+
  1407.       user clicks in here ---> |ID=7|                    |
  1408.       ZONE 2 gets selected     +----+   ID=2             |
  1409.                    |                         |
  1410.                    +-------------------------+
  1411.  
  1412.           Note also that the mouse is driven by the ARROW keys,
  1413.           so the mouse driver has to produce these or user presses
  1414.           ARROW keys.
  1415.  
  1416.     simple example  esc{R16:C3,12:w6,10,Press the ARROW KEYs then ENTER!@
  1417.                 w2,11,Pick a square! It could be a fancy ICON.@
  1418.                 X4,9999:X4,9998:C1,11:
  1419.                 Z1,1,150,99:X4,0,1,1,150,99,4,left:
  1420.                 Z160,1,350,99:X4,55,160,1,350,99,4,rite:
  1421.                 X4,63,0,0,639,349,4,oops:X6,16,16:
  1422.                 C3,14:C0,14:T3,4:<0,2,1:R3:esc}esc#A
  1423.  
  1424.           NOTE:   Don't use POINT & CLICK ZONES  in graphics mode 19.
  1425.               XORing doesn't work in that mode so the pointer will
  1426.               make a mess.  No real harm but it looks bad.
  1427.  
  1428.                     -26-
  1429.  
  1430.      ? Ask CONDOR       ?0:   ?1:  ?2:
  1431.      ------------
  1432.             ? = command identifier
  1433.             Asks the CONDOR device questions.
  1434.             It loads the reply into the keyboard buffer and it
  1435.             is as if the user typed it. Can be issued in TEXT mode.
  1436.  
  1437.                1st parameter selects the question to ask, 0 or 1:
  1438.               question  0 = Ask Condor system info, CONDOR will
  1439.                     TYPE in ASCII the version number it is,
  1440.                     what video hardware it finds and the
  1441.                     current video mode selected.
  1442.                     A Condor response to a ?0: query
  1443.                     esc{?0:esc}esc#A
  1444.                     would look something like:
  1445.  
  1446.                     V4.0:$I:*D:
  1447.  
  1448.                     and interpreted by the HOST asker as
  1449.                     Version 4.0:$Hardware I:*Current_mode D:
  1450.  
  1451.                   HARDWARE CHART:
  1452.                   ---------------------------------------
  1453.                   $A: no display
  1454.                   $B: MDA mono display
  1455.                   $C  CGA color
  1456.                   $D  (reserved)
  1457.                   $E  EGA color
  1458.                   $F  EGA mono
  1459.                   $G  Professional Graphics Controller
  1460.                   $H  VGA analog mono
  1461.                   $I  VGA analog color
  1462.                   $J  (reserved)
  1463.                   $K  MCGA digital color
  1464.                   $L  MCGA analog mono
  1465.                   $M  MCGA analog color
  1466.  
  1467.             VIDEO MODE CHART:  Res         Colors    Type
  1468.             ---------------------------------------------------
  1469.             *A:               40x25          16      TEXT
  1470.             *B:               40x25          16      TEXT
  1471.             *C:               80x25          16      TEXT
  1472.             *D:               80x25          16      TEXT
  1473.             *E:               320x200        4       GRAPHICS
  1474.             *F:               320x200        4       GRAPHICS
  1475.             *G:               640x200        2       GRAPHICS
  1476.             *H:               80x25          2       TEXT
  1477.             *I:               N/A            N/A     N/A
  1478.             *J:               N/A            N/A     N/A
  1479.             *K:               N/A            N/A     N/A
  1480.             *L:               N/A            N/A     N/A
  1481.             *M:               N/A            N/A     N/A
  1482.             *N:               320x200        16      GRAPHICS
  1483.             *O:               640x200        16      GRAPHICS
  1484.             *P:               640x350        2       GRAPHICS
  1485.             *Q:               640x350        16      GRAPHICS
  1486.             *R:               640x480        2       GRAPHICS
  1487.             *S:               640x480        16      GRAPHICS
  1488.             *T:               320x200        256     GRAPHICS
  1489.  
  1490.                     -27-
  1491.  
  1492.        JOYSTICK  Support ->    ?1:
  1493.            IF 1st parameter = 1 instead of 0  then Condor will answer
  1494.               question  1 = Ask Condor for a JOYSTICK report.
  1495.                     CONDOR will TYPE in ASCII a direction
  1496.                     value and a firebutton status character.
  1497.                     A Condor response to a ?1: query
  1498.                     esc{?1:esc}esc#A
  1499.                     would look something like:
  1500.                     5+
  1501.                     you can ask it over and over
  1502.                     and it might look like:
  1503.                     5.5.5.7-7-8+8.8.
  1504.                     What does it all mean?
  1505.                     The numbers are directions like:
  1506.                           7   8   9
  1507.                         \ |  /
  1508.                           4 - 5 - 6
  1509.                         / | \
  1510.                           1   2   3
  1511.                      The punctation that follows the number
  1512.                      is the status of the firebutton.
  1513.                      .  =  No Firebutton Pressed
  1514.                      +  =  Lower Firebutton Pressed
  1515.                      -  =  Upper Firebutton Pressed
  1516.                      *  =  BOTH Firebuttons Pressed
  1517.  
  1518.                  Note:  If a Joystick is not found connected
  1519.                     to the gameport then a direction of
  1520.                     0 is returned  example  0.
  1521.                     Also if a user doesn't have a Joystick
  1522.                     he can hit the NUMLOCK Key and the
  1523.                     value directions coincide with the
  1524.                     numeric keypad layout.  
  1525.                     USE  ?2:  to read joystick number 2
  1526.                     in the same manner as ?1: reads joystick
  1527.                     number 1.
  1528.  
  1529.  
  1530.  
  1531.                     -28-
  1532.  
  1533.                 ANSI SUPPORT
  1534.                 ------------
  1535.  
  1536.        CONDOR supports ANSI escape sequences.   You can't place
  1537.     ANSI commands in the CONDOR buffer and execute them BUT you can first
  1538.     switch to a GRAPHICS mode with a CONDOR  Rx: command then draw some
  1539.     lines, what have you, with CONDOR and at exit don't do a R3: command.
  1540.     The ANSI commands will still work, the only thing is that you will
  1541.     not get the ANSI background colors and BLINKing characters, this
  1542.     is how you mix CONDOR and ANSI commands to get the best of both.
  1543.     If you switch back to a TEXT mode then you get the ANSI character's
  1544.     background color and BLINK.  CONDOR's  R3: switches to color TEXT mode
  1545.     80x25.  I left most of the cursor positioning work for the ANSI
  1546.     commands to save on memory, CONDOR has to fit in 64K to work and I
  1547.     want to expand it little in the future.
  1548.  
  1549.     ANSI COMMANDS SUPPORTED:
  1550.     ------------------------
  1551.         ? = numeric value
  1552.  
  1553.         esc[?;?H                Move cursor to line, column.  If no
  1554.                     parameters specified cursor is sent
  1555.                     to HOME (1,1)
  1556.  
  1557.         esc[?;?f                Exactly the same as the above command.
  1558.  
  1559.         esc[?A                  Move cursor UP.  Moves cursor up by the
  1560.                     number of lines specifed without
  1561.                     changing columns.  If cursor is at the
  1562.                     top line this command is ignored.
  1563.  
  1564.         esc[?B                  Move cursor DOWN.  Moves cursor down
  1565.                     by the number of lines specifed without
  1566.                     changing columns.  If cursor is at the
  1567.                     bottom line this command is ignored.
  1568.  
  1569.         esc[?C                  Cursor FORWARD.  Moves cursor forward
  1570.                     by the specified number columns without
  1571.                     changing lines. If the cursor is at the
  1572.                     rightmost column command is ignored.
  1573.  
  1574.         esc[?D                  Cursor BACKWARD.  Moves cursor backward
  1575.                     by the specified number columns without
  1576.                     changing lines. If the cursor is at the
  1577.                     leftmost column command is ignored.
  1578.  
  1579.         esc[s                   SAVE cursor position.  Get current
  1580.                     cursor position and remember it.
  1581.                     Use the esc[u sequence to set cursor
  1582.                     to saved position.
  1583.  
  1584.         esc[u                   RESTORE Cursor Position.  Sets the
  1585.                     cursor to the SAVEed position
  1586.                     established with the esc[s sequence.
  1587.  
  1588.         esc[2J                  Erase the TEXT Screen.  Clears the
  1589.                     TEXT screen only as defined by
  1590.                     CONDOR's   's' command
  1591.                     and moves the cursor to HOME (1,1).
  1592.  
  1593.                     -29-
  1594.  
  1595.                ( ANSI Commands Continued )
  1596.  
  1597.         esc[K                   ERASE Line.  Clears all characters from
  1598.                     cursor positon to the end of the line.
  1599.  
  1600.         esc[?;?;?m              Set TEXT Attributes,
  1601.                     TEXT Foreground colors and
  1602.                     TEXT Background colors.
  1603.  
  1604.                     TEXT Attribute values:
  1605.                         0 = All attributes OFF
  1606.                         1 = Bold ON
  1607.                         4 = NO EFFECT
  1608.                         5 = BLINK ON
  1609.                         7 = REVERSE Video ON
  1610.                         8 = CONCEALED ON
  1611.  
  1612.                     FORGROUND color values:
  1613.                         30 = BLACK
  1614.                         31 = RED
  1615.                         32 = GREEN
  1616.                         33 = YELLOW
  1617.                         34 = BLUE
  1618.                         35 = MAGENTA
  1619.                         36 = CYAN
  1620.                         37 = WHITE
  1621.  
  1622.                     BACKGROUND color values:
  1623.                         40 = BLACK
  1624.                         41 = RED
  1625.                         42 = GREEN
  1626.                         43 = YELLOW
  1627.                         44 = BLUE
  1628.                         45 = MAGENTA
  1629.                         46 = CYAN
  1630.                         47 = WHITE
  1631.  
  1632.        The ANSI commands esc[?h, esc[?l, esc[code;string;...p  are
  1633.     NOT supported.  The ANSI esc[6 command used for ANSI auto-detect is not
  1634.     supported,  SEE CONDOR's  '?0:' command for CONDOR 4.0+ auto-detection.
  1635.  
  1636.     -----------------------------------------------------------------------
  1637.  
  1638.       I hope CONDOR will make changes in digital publishing and the online
  1639.     world but it depends on you,  DEMAND  "EXTERNAL"  ANSI support as AT
  1640.     LEAST optional in HYPERTEXT READERS, MAJOR TERMINALs and BBSs.
  1641.     EXTERNAL ANSI support provides your terminal or BBS with access to
  1642.     CONDOR.SYS   In Turbo C this is as SIMPLE as bdos(2,character,0);
  1643.     that's all they got to do and CONDOR will respond!!!  See HOW_TO.TXT  
  1644.     Note that the faster DIRECT TEXT output is just that TEXT output, it 
  1645.     does not work in graphics modes!
  1646.  
  1647.  
  1648.